Micron Document
____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|


The NomadNet German Wikipedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

πŸ” Search

Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―

Update (SQL)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Die UPDATE-Anweisung in SQL Γ€ndert den Inhalt der EintrΓ€ge einer Tabelle.

Die Anweisung Γ€ndert dabei alle Zeilen einer Tabelle oder wΓ€hlt basierend auf einer zusΓ€tzlichen Bedingung eine Teilmenge der Tabelle aus. Die Anwendung erfolgt ΓΌber die Spaltenauswahl einer Tabelle (SET) in Verbindung mit einer optionalen WHERE-Bedingung:cite-ref-1[1]

UPDATE Tabellenname SET Spaltenname = Wert [, Spaltenname = Wert ...] [WHERE Bedingung]

Die Verwendung der UPDATE-Anweisung beschrΓ€nkt sich auf Benutzer mit Berechtigung zur DatenΓ€nderung (UPDATE-Berechtigung) der entsprechenden Tabelle oder Spalte. Die zu Γ€ndernden Werte unterliegen den EinschrΓ€nkungen fΓΌr PrimΓ€r(schlΓΌssel), CHECK und NOT NULL.

Contents

β€’ Beispiele
β€’ Risiken
β€’ Siehe auch

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Beispiele

Die Spalte C1 der Tabelle T nimmt in allen Zeilen mit Wert β€žaβ€œ in Spalte C2 den Wert 1 an:

UPDATE T
SET C1 = 1
WHERE C2 = 'a'

FΓΌr alle Zeilen mit Wert β€žaβ€œ in Spalte C2 nimmt Spalte C1 den Wert 9 und Spalte C3 den Wert 4 an:

UPDATE T
SET C1 = 9,
C3 = 4
WHERE C2 = 'a'

ErhΓΆhe den Wert der Spalte C1 um 1 fΓΌr alle Zeilen mit Wert β€žaβ€œ in Spalte C2:

UPDATE T
SET C1 = C1 + 1
WHERE C2 = 'a'

Positionierung des Strings β€žTextβ€œ vor dem Wert von Spalte C1, falls die Spalte C2 den Wert β€žaβ€œ enthΓ€lt:

UPDATE T
SET C1 = 'Text' || C1
WHERE C2 = 'a'

Setze den Wert der Spalte C1 der Tabelle T1 auf 2, sofern die Spalte C2 einen Wert aus der Teilmenge der WHERE-Bedingung enthΓ€lt. Die Teilmenge enthΓ€lt dabei diejenigen Werte der Spalte C3 der Tabelle T2, bei denen die Spalte C4 den Wert 0 aufweist:

UPDATE T1
SET C1 = 2
WHERE C2 IN ( SELECT C3
FROM T2
WHERE C4 = 0)

Festlegen von Werten mehrerer Spalten in einer einzigen Anweisung:

UPDATE T
SET C1 = 1,
C2 = 2

Mehrere WHERE-Bedingungen:

UPDATE T
SET A = 1
WHERE C1 = 1
AND C2 = 2

Die UPDATE-Anweisung erlaubt außerdem Joins, in manchen Datenbanksystemen sogar eine vom FROM-Teil abweichende Notation des SQL-Standards:

UPDATE a
SET a.[Update_Spalte] = Update_Wert
FROM Artikel a
JOIN Systematik s
ON a.ArtikelID = s.ArtikelID
WHERE c.classID = 1

Das Datenbanksystem von Oracle stellt (bei vorhandenem Index fΓΌr ArtikelID) eine weitere Notation zur VerfΓΌgung:

UPDATE
(
SELECT *
FROM Artikel
JOIN Systematik
ON Artikel.ArtikelID = Systematik.ArtikelID
WHERE Systematik.classID = 1
)
SET [Update_Spalte] = Update_Wert

In manchen Datenbanksystemen wie PostgreSQL definieren sich die Werte der resultierenden Tabelle eines Joins durch je eine UPDATE-Anweisung pro Ergebniszeile.cite-ref-2[2]cite-ref-3[3]

Risiken

β€’ Halloween-Problem: In manchen Update-Anweisungen verursachen die verknΓΌpften Indizes von SET-Definitionen und WHERE-Bedingungen (Endlos)schleifen.
β€’ Eine Update-Anweisung mit fehlender WHERE-Bedingung wirkt auf alle EintrΓ€ge der ausgewΓ€hlten Spalten.

Siehe auch
Einzelnachweise

cite-note-11. ↑ MySQL: UPDATE Syntax. Abgerufen am 1. Oktober 2018 (Vereinfacht und ΓΌbersetzt).
cite-note-22. ↑ Tech On The Net: PostgreSQL: FROM Clause. Abgerufen am 1. Oktober 2018.
cite-note-33. ↑ PostgreSQL: Update. Abgerufen am 22. November 2018.